1.端口相关

java分享会

分享人:白笑然

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

什么是端口

在 Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择。 我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同时运行的进程中的哪一个呢?

端口机制便由此被引入进来。

本地操作系统会给那些有需求的进程分配协议端口 (protocal port,即我们常说的端口),每个协议端口由一个正整数标识,如:80,139,445,等等。

当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。

2.知识剖析

端口的分类 在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类 虽然他们都用正整数标识,但这并不会引起歧义,比如TCP的80端口和UDP的80端口,因为数据报在标明端口的同时,还将标明端口的类型。 从端口的分配来看,端口被分为固定端口和动态端口两大类: 固定端口(0-1023):使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。 由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方 是否开启了这些服务 如TCP的21(ftp),80(http),139(netbios),UDP的7(echo),69(tftp)等等一些大家熟知的端口;。  动态端口(1024-49151):这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程, 同一进程两次分配有可能分配到不同的端口。 不过一些应用程序并不愿意使用操作系统分配的动态端口,他们有其自己的‘商标性’端口,如oicq客户端的 4000端口,

3.常见问题

1.怎么判断一个端口是否被占用了

2.如何判断一个端口是否被防火墙拦截

3.怎么用Telnet判断端口号是否打开

4.解决方案

1 使用netstat命令 tasklist taskkill

2检查防火墙配置

3.服务器Telnet服务器自己 本地telnet服务器

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

保留的端口有哪些

鸣谢

感谢观看,如有出错,恳请指正

BY : sweetalin